The event payload class for OPC Alarms&Events is the AENotificationPayload class. This class contains an embedded AEEventDataPayload object, which contains the actual OPC event. This object is always present; in case of errors and special cases, it contains default or pre-defined values.
A special event priority value is used when no OPC event is present (in case of errors, but also re-gained connections, and a completed refresh). Normal OPC event priorities are in the range from 0(1) to 1000. When creating a payload for a notification where no actual OPC event is present, an event priority value of 9999 is used. The value 9999 is chosen to be higher than the severity of any OPC-A&E event, yet still in a 4-digit range.
The payload class does not contain any fields for OPC server-specific event attributes. If you need to process the OPC event attributes in StreamInsight, derive your own class from AEEventDataPayload, add the fields you need, and develop a code that extracts the attributes from the AEEventData object (in EasyAENotificationEventArgs.EventData).
In addition, there is a Server string property, identifying the source of the event. For a single OPC observable, it always contains the same value, but it becomes useful once you start combining events from different OPC sources into one stream.